HTML5 您所在的位置:网站首页 html5 HTML5

HTML5

#HTML5| 来源: 网络整理| 查看: 265

(暂放) 原文链接 http://www.w3.org/TR/2011/WD-html5-20110525/

本文档开放给所有人编辑,希望参与贡献请移步下面地址注册: http://www.w3.org/Help/Account/Request/Public

Contents 1 介绍 1.1 背景 1.2 对象 1.3 范围 1.4 历史 1.5 设计备注 1.5.1 脚本执行的序列性 1.5.2 遵从其它规范 1.6 HTML vs XHTML 1.7 这份规范的结构 1.7.1 如何阅读本文档 1.7.2 排版惯例 1.8 HTML 的简单介绍 1.9 对于作者的符合规范 1.9.1 对象标记 1.9.2 语法错误 1.9.3 内容模型与属性值限制 1.10 推荐阅读 2 通用设施 2.1 术语 2.1.1 资源 2.1.2 XML 2.1.3 DOM树 2.1.4 脚本 2.1.5 插件 2.1.6 字符编码 2.2 規範要求 2.2.1 規範類別 2.2.2 依賴關係 2.2.3 擴展性 2.3 字串比較與大小寫 2.4 UTF-8 2.5 通用微語法 2.5.1 常用解析器慣用語 2.5.2 布尔型属性 2.5.3 关键字和枚举类型属性 2.5.4 数字 2.5.4.1 非负整数 2.5.4.2 带符号整数 2.5.4.3 实数 2.5.4.4 百分比和长度 2.5.4.5 整数列表 2.5.4.6 尺寸列表 2.5.5 日期和时间 2.5.5.1 月份 2.5.5.2 日期 2.5.5.3 时间 2.5.5.4 本地日期和时间 2.5.5.5 全球日期和时间 2.5.5.6 星期 2.5.5.7 Vaguer moments in time 2.5.6 颜色 2.5.7 空格分开的token 2.5.8 逗号分开的token 2.5.9 参考 2.5.10 媒体查询 2.6 URL 2.6.1 术语 2.6.2 分析URL 2.6.3 Resolving URLs 2.6.4 URL运用与创建 2.6.5 动态改变基础URL 2.6.6 URL运用的接口 2.7 获取资源 2.7.1 协议的概念 2.7.2 加密的HTTP及安全考量 2.7.3 決定資源的類型 2.8 通用DOM接口 2.8.1 在IDL属性中反射内容属性 2.8.2 集合 2.8.2.1 HTMLCollection 2.8.2.2 HTMLAllCollection 2.8.2.3 HTMLFormControlsCollection 2.8.2.4 HTMLOptionsCollection 2.8.3 DOMTokenList 2.8.4 DOMSettableTokenList 2.8.5 安全地传递结构体类型数据 2.8.6 DOMStringMap 2.8.7 DOM特征字符串 2.8.8 异常 2.8.9 垃圾回收 2.9 命名空间 3 HTML文档的语义、结构及API 3.1 文档 3.1.1 DOM中的文档 3.1.2 安全 3.1.3 资源元数据管理 3.1.4 DOM树存取器 3.1.5 创建文档 3.1.6 加载XML文档 3.2 元素 3.2.1 语义 3.2.2 DOM中的元素 3.2.3 全局属性 3.2.3.1 id属性 3.2.3.2 title属性 3.2.3.3 lang和xml:lang属性 3.2.3.4 xml:base属性 3.2.3.5 dir属性 3.2.3.6 class属性 3.2.3.7 style属性 3.2.3.8 用data-*属性嵌入自定义的不可见数据 3.2.4 元素定义 3.2.4.1 属性 3.2.5 内容模型 3.2.5.1 内容种类 3.2.5.1.1 元数据式内容 3.2.5.1.2 流式内容 3.2.5.1.3 章节式内容 3.2.5.1.4 标题式内容 3.2.5.1.5 段落式内容 3.2.5.1.6 嵌入式内容 3.2.5.1.7 交互式内容 3.2.5.2 透明内容模型 3.2.5.3 段落 3.2.6 关于双向文字处理算法的需求 3.2.7 WAI-ARIA(Accessible Rich Internet Applications)无障碍的富因特网应用程序 3.3 HTML文档中的API 3.4 与XPath和XSLT交互 3.5 动态注入标记 3.5.1 打开输入流 3.5.2 关闭输入流 3.5.3 document.write() 3.5.4 document.writeln() 3.5.5 innerHTML 3.5.6 outerHTML 4 HTML元素 4.1 根元素 4.1.1 html元素 4.2 文档元数据 4.2.1 head元素 4.2.2 title元素 4.2.3 base元素 4.2.4 link元素 4.2.5 meta元素 4.2.6 style元素 4.2.7 样式 4.3 脚本 4.3.1 script元素 4.3.1.1 脚本语言 4.3.1.2 script元素内容的限制 4.3.1.3 外部脚本的内联文档 4.3.1.4 script元素和XSLT的交互 4.3.2 noscript元素 4.4 区块 4.4.1 body元素 4.4.2 section元素 4.4.3 nav元素 4.4.4 article元素 4.4.5 aside元素 4.4.6 h1,h2,h3,h4,h5和h6元素 4.4.7 hgroup元素 4.4.8 header元素 4.4.9 footer元素 4.4.10 address元素 4.4.11 头和区块 4.5 内容分组 4.5.1 p元素 4.5.2 hr元素 4.5.3 pre元素 4.5.4 blockquote元素 4.5.5 ol元素 4.5.6 ul元素 4.5.7 li元素 4.5.8 dl元素 4.5.9 dt元素 4.5.10 dd元素 4.5.11 figure元素 4.5.12 figcaption元素 4.5.13 div元素 4.6 文本级语意 4.6.1 a元素 4.6.2 em元素 4.6.3 strong元素 4.6.4 small元素 4.6.5 s元素 4.6.6 cite元素 4.6.7 q元素 4.6.8 dfn元素 4.6.9 abbr元素 4.6.10 time元素 4.6.11 code元素 4.6.12 var元素 4.6.13 samp元素 4.6.14 kbd元素 4.6.15 sub和sup元素 4.6.16 i元素 4.6.17 b元素 4.6.18 u元素 4.6.19 mark元素 4.6.20 ruby元素 4.6.21 rt元素 4.6.22 rp元素 4.6.23 bdi元素 4.6.24 bdo元素 4.6.25 span元素 4.6.26 br元素 4.6.27 wbr元素 4.6.28 使用方式小结 4.7 更改记录 4.7.1 ins元素 4.7.2 del元素 4.7.3 ins和del元素的通用属性 4.7.4 更改记录与段落 4.7.5 更改记录与列表 4.8 嵌入内容 4.8.1 img元素 4.8.2 iframe元素 4.8.3 embed元素 4.8.4 object元素 4.8.5 param元素 4.8.6 video元素 4.8.7 audio元素 4.8.8 source元素 4.8.9 track元素 4.8.10 多媒体元素 4.8.11 canvas元素 4.8.11.1 颜色空间和颜色校正 4.8.11.2 canvas元素安全性 4.8.12 map元素 4.8.13 area元素 4.8.14 图像映射 4.8.15 MathML 4.8.16 SVG 4.8.17 尺寸属性 4.9 表格数据 4.9.1 table元素 4.9.1.1 描述表格的技术 4.9.1.2 布局表格的技术 4.9.2 caption元素 4.9.3 colgroup元素 4.9.4 col元素 4.9.5 tbody元素 4.9.6 thead元素 4.9.7 tfoot元素 4.9.8 tr元素 4.9.9 td元素 4.9.10 th元素 4.9.11 td和th元素的通用属性 4.9.12 处理模型 4.9.12.1 创建一个表格 4.9.12.2 创建数据单元格与标题单元格之间的关系 4.9.13 示例 4.10 表单 4.10.1 介紹 4.10.1.1 编写用户界面 4.10.1.2 实现一个表单的服务器端过程 4.10.1.3 配置表单使其与服务器端相通 4.10.1.4 客户端表单验证 4.10.2 分類 4.10.3 form元素 4.10.4 fieldset元素 4.10.5 legend元素 4.10.6 label元素 4.10.7 input元素 4.10.7.1 type属性的状态 4.10.7.1.1 隐藏状态 4.10.7.1.2 文本状态和搜索状态 4.10.7.1.3 电话号码状态 4.10.7.1.4 URL状态 4.10.7.1.5 电子邮件状态 4.10.7.1.6 密码状态 4.10.7.1.7 日期和时间状态 4.10.7.1.8 日期状态 4.10.7.1.9 月份状态 4.10.7.1.10 周状态 4.10.7.1.11 时间状态 4.10.7.1.12 本地日期和时间状态 4.10.7.1.13 数字状态 4.10.7.1.14 范围状态 4.10.7.1.15 颜色状态 4.10.7.1.16 复选框状态 4.10.7.1.17 单选按钮状态 4.10.7.1.18 文件上传状态 4.10.7.1.19 提交按钮状态 4.10.7.1.20 图片按钮状态 4.10.7.1.21 重置按钮状态 4.10.7.1.22 按钮状态 4.10.7.2 input 元素的共通屬性 4.10.7.3 input 元素的共通 API 4.10.7.4 共通事件行為 4.10.8 button元素 4.10.9 select元素 4.10.10 datalist元素 4.10.11 optgroup元素 4.10.12 option元素 4.10.13 textarea元素 4.10.14 keygen元素 4.10.15 output元素 4.10.16 progress元素 4.10.17 meter元素 4.10.18 控制項與表單的連結 4.10.19 表單控制項的共通屬性 4.10.19.1 為表單控制項命名 4.10.19.2 啟用和停用控制項 4.10.19.3 控制項的取值 4.10.19.4 控制項的自動聚焦 4.10.19.5 限制使用者的輸入長度 4.10.19.6 表單提交 4.10.19.7 提交元素方向性 4.10.20 文本字段选择API 4.10.21 约束 4.10.21.1 定义 4.10.21.2 约束验证 4.10.21.3 约束验证API 4.10.21.4 安全性 4.10.22 表單提交 4.10.22.1 介绍 4.10.22.2 隱式提交 4.10.22.3 表单提交算法 4.10.22.4 构建表单数据集 4.10.22.5 URL编码表单数据 4.10.22.6 多部分表单数据 4.10.22.7 纯文本表单数据 4.10.23 表單重置 4.11 交互元素 4.11.1 details元素 4.11.2 summary元素 4.11.3 command元素 4.11.4 menu元素 4.12 链接 4.12.1 介绍 4.12.2 由a和area元素创建的链接 4.12.3 跳转至超链接 4.12.4 链接类型 4.13 没有特指元素的惯用语 4.14 用选择器匹配HTML元素 5 网页加载过程 5.1 浏览上下文 5.1.1 嵌套的浏览上下文 5.1.1.1 导航在 DOM 中嵌套的浏览上下文 5.1.2 辅助浏览上下文 5.1.2.1 在DOM中导航辅助浏览上下文 5.1.3 次级浏览上下文 5.1.4 安全性 5.1.5 浏览上下文分组 5.1.6 浏览上下文名称 5.2 Window对象 5.2.1 安全性 5.2.2 创建和按浏览上下文名称导航的API 5.2.3 访问其他浏览上下文 5.2.4 访问命名窗口对象 5.2.5 垃圾收集和浏览上下文 5.2.6 浏览器界面元素 5.2.7 WindowProxy对象 5.3 源 5.3.1 放宽同源限制 5.4 会话历史和导航 5.4.1 浏览上下文的会话历史 5.4.2 History接口 5.4.3 Location 接口 5.4.3.1 安全性 5.4.4 会话历史实现说明 5.5 浏览网页 5.5.1 在文档之间导航 5.5.2 页面加载HTML文件的处理模型 5.5.3 页面加载XML文件的处理模型 5.5.4 页面加载文本文件的处理模型 5.5.5 页面加载图像的处理模型 5.5.6 页面加载使用插件内容的处理模型 5.5.7 页面加载没有DOM的内联内容的处理模型 5.5.8 导航到一个片段标识符 5.5.9 穿越历史 5.5.9.1 事件定义 5.5.10 卸载文档 5.5.10.1 事件定义 5.5.11 中止文档加载 5.6 离线Web应用程序 5.6.1 简介 5.6.1.1 事件摘要 5.6.2 应用程序缓存 5.6.3 缓存清单语法 5.6.3.1 Manifest清单示例 5.6.3.2 写缓存清单 5.6.3.3 解析缓存清单 5.6.4 下载或更新应用程序缓存 5.6.5 应用程序缓存的选择算法 5.6.6 更改的网络模式 5.6.7 过期的应用程序缓存 5.6.8 磁盘空间 5.6.9 应用程序缓存API 5.6.10 浏览器状态 6 Web应用程序API 6.1 脚本功能 6.1.1 介绍 6.1.2 启用和禁用脚本功能 6.1.3 处理模型 6.1.3.1 定义 6.1.3.2 调用脚本 6.1.3.3 创建脚本 6.1.3.4 结束脚本 6.1.3.5 运行时脚本错误 6.1.4 事件循环 6.1.4.1 定义 6.1.4.2 处理模型 6.1.4.3 通用任务来源 6.1.5 “javascript: ”URL协议 6.1.6 事件 6.1.6.1 事件处理 6.1.6.2 元素、Document和Window对象的事件处理 6.1.6.3 事件触发 6.1.6.4 事件和Window对象 6.2 Base64实用方法 6.3 定时器 6.4 用户提示 6.4.1 简单对话框 6.4.2 打印 6.4.3 使用独立文档实现的对话框 6.5 系统状态及性能 6.5.1 Navigator对象 6.5.1.1 客户端标识 6.5.1.2 自定义协议和内容处理 6.5.1.3 安全和隐私 6.5.1.4 用户界面示例 6.5.1.5 手动释放存储互斥量 6.5.2 External接口 7 用户交互 7.1 hidden属性 7.2 啟動 7.3 焦距 7.4 設定鍵盤快捷鍵 7.5 編輯 7.5.1 使文档区域可编辑:contenteditable内容属性 7.5.2 使整个文档可编辑:designMode IDL属性 7.5.3 页面内编辑器的最佳实践 7.5.4 编辑API 7.5.5 拼写及语法检查 7.6 拖曳 7.7 文字搜尋 API 8 HTML 语法 8.1 编写 HTML 文档 8.1.1 DOCTYPE 声明 8.1.2 元素 8.1.2.1 开始标签 8.1.2.2 结束标签 8.1.2.3 属性 8.1.2.4 可选标签 8.1.2.5 内容模型限制 8.1.2.6 原始文本与 RCDATA 元素内容限制 8.1.3 文本 8.1.3.1 换行 8.1.4 字符引用 8.1.5 CDATA 段落 8.1.6 注释 8.2 解析 HTML 文档 8.2.1 解析模型概述 8.2.2 輸入串流 8.2.2.1 決定字符編碼 8.2.2.2 字符编码 8.2.2.3 輸入串流的前置處理 8.2.2.4 解析時的編碼變更 8.2.3 解析态 8.2.3.1 插入模式 8.2.3.2 开元素栈 8.2.3.3 活动格式元素列表 8.2.3.4 元素指针 8.2.3.5 其他解析态标记 8.2.4 Tokenization 8.2.5 树构建 8.2.5.1 创建与插入元素 8.2.5.2 闭合缺结束标签的元素 8.2.5.3 Foster parenting 8.2.5.4 解析 HTML 內容內的 token 的規則 8.2.5.4.1 插入模式:「IN HEAD」 8.2.5.5 解析外语内容区域的规则 8.2.6 结束 8.2.7 强制 HTML DOM 转为信息集 8.2.8 错误处理与解析器奇怪情况简介 8.2.8.1 标签嵌套错误: 8.2.8.2 标签嵌套错误:

8.2.8.3 Unexpected markup in tables 8.2.8.4 在解析页面时修改页面的脚本 8.2.8.5 The execution of scripts that are moving across multiple documents 8.2.8.6 Unclosed formatting elements 8.3 序列化 HTML 区段 8.4 解析 HTML 区段 8.5 命名字符参考 9 XHTML语法 10 渲染 10.1 介紹 10.2 CSS 使用者代理樣式表與表象呈現提示 10.2.1 介紹 10.2.2 显示状态 10.2.3 边距与边框 10.2.4 对齐 10.2.5 字体与颜色 10.2.6 标点符号与装饰 10.2.7 继承属性的覆盖规则 10.2.8 hr 元素 10.2.9 fieldset 元素 10.3 置换元素 10.4 綁定 10.5 框架与框架集 10.6 互动媒介 10.7 印刷媒介 11 废弃的特性 11.1 废弃但符合规范的特性 11.1.1 对废弃但符合规范的特性进行警告 11.2 非标准特性 11.3 实施需求 11.3.1 applet元素 11.3.2 marquee元素 11.3.3 Frames 11.3.4 其他元素,属性和API 12 IANA(The Internet Assigned Numbers Authority,互联网数字分配机构)考量 13 索引 14 参考文献 15 致谢 介绍

本章节已移至相应子页面

背景 HTML是万维网(World Wide Web)的核心标记语言。最初,HTML主要被设计用来描述科学语义。然而,由于它的普适性的设计,使其随后的几年中可以用来描述大量其他类型的文档甚至是应用。 在web应用领域,HTML一直没有充分得到利用。本文档试图解决此问题,同时更新HTML文档以解决近几年出现的问题。 对象 这份规范的目标读者有:本规范中特性的定义者、基于本规范的页面工具实现者以及对文档或具体实现校验是否符合本规范的验证者。 这个文档可能不会为了那些对web技术没有什么基础的读者而牺牲他的精确和完整。如需更加优雅的入门介绍可以寻找其他更加平易近人的教程或指南。 此外,拥有DOM的基础知识对于完整的理解本规范中的一些技术部分是有必要的。对Web IDL, HTTP, XML, Unicode, character encodings, JavaScript以及CSS的了解虽不必须但是将非常有帮助。 范围 本规范仅限于提供编写用户体验良好的,静态或动态的,语义化的标记语言和相关脚本API的指导。 本规范的范围不包括提供特定媒介自定义渲染机制方面的指导(尽管规范末尾包含有默认的浏览器渲染机制,且作为web语言一部分的CSS也提供了相关的机制)。 本规范并不会描述整个系统是如何运作的。尤其是硬件如何配置软件,图形操作工具和高端工作站日常用到的软件都不在本规范范围内。软件方面,本规范主要介绍一些低CPU要求的特定场景下使用的基础软件。比如,在线交易系统,搜索系统,游戏(尤其多人在线游戏),公众电话本或者地址簿,社交软件(邮件客户端,即使通讯客户端,会议软件),规范编辑软件等。 历史 起初的5年(1990-1995),HTML经历了多次的修改和扩充内容,首先是由CERN负责,其次是IETF。 W3C诞生后,HTML的发展再度发生变化。1995年,首次尝试扩充HTML内容失败,即HTML3.0。1997年HTML3.2完成。同年HTML4也完成。 之后的几年,W3C成员决定停止HTML的研发,取而代之的开始研发基于XML的XHTML。以重制HTML4为XHTML1.0开始,没有增加新特性,except the new serialization,直到2000年才结束。XHTML1.0之后,W3C的工作重心转移到,使其他工作组更便于在XHTML的模块下扩展它上。与此同时,W3C还在开发一款新语言,即不兼容之前的HTML和XHTML的XHTML2。 大约在1998年,HTML的改革停止的时候,浏览器厂商们开发出了HTML的部分API,并以DOM Level 1(1998年)、DOM Level 2 Core和DOM Level 2 HTML(从2000年到2003年)的命名发布。这些成果随着DOM Level 3规范在2004年发布的同时而逐渐被淡化,但是在Level 3草案完成前,其工作组就被迫关闭。 在2003年,被认为是下一代web技术产物的XForms发布,它重新引起了开发人员们扩展HTML的兴趣,而不是寻找HTML的替代品。这份兴趣也使得开发人员们认识到作为web技术的XML受限于新的技术(如RSS和后来的Atom),而不是替代了当前的技术(如HTML)。 重新引起兴趣后,开发人员们首先扩展了HTML4以提供更多在Xforms中介绍的特性,而不需要浏览器启动与当前HTML web页面不兼容的渲染引擎。在此之前,草案已公之于众和代码也已实装的时候,这份规范的版权归Opera软件公司所有。 2004年,HTML的改进被重新提起,并在W3C下的一个工作室测试。一些HTML5标准下的机制和早前提及的与form相关的草案提议被Mozilla和Opera联合提交给了W3C。提议因为与之前选定的web发展方向相冲突而被拒绝。取而代之的是,W3C的工作人员和会员们投票决定继续开发以XML为基础的技术作为替代。 不久之后,Apple,Mozilla和Opera联名宣布它们组建WHATWG组织以继续HTML5的开发工作。一个公众邮件列表被建立,同时,草案也被移到了WHATWG的网站上。版权被修订为三方共同所有且可复用该规范。 WHATWG制定了几个主要原则,科技需要向后兼容、即便在要改动规范而不是实例的情况下,规范和实例也需要保持一致、规范需要描述的足够清楚以至于实例可以完全达成交互而不用对调引擎。 后来急需确定HTML5规范的范围,包括之前在HTML4,XHTML1和DOM2 HTML中明确了的内容。这意味着HTML5包含了更多的内容。 2006年,W3C终于表明了对HTML5开发的兴趣,并在2007年成立了工作组特许与WHATWG就HTML5规范的制定而协同工作。Apple,Mozilla和Opera准许了W3C以W3C的版权发布HTML5规范,同时保持一个低限制证书的版本在WHATWG的网站上。 许多年后,W3C和WHATWG的HTML5工作组都在Ian Hickson的带领下工作。2011年,这两个小组得出一个结论,彼此的目标不同:W3C想制定一个HTML5特性的绝对建议标准,而WHATWG想要一个不断迭代的HTML5,持续不断地维护规范和增加特性。在2012年中,W3C成立了一个新的编辑队伍来编辑HTML5规范和为下一代HTML准备工作草案。 自那以后,W3C HTML的工作组一直在通过cherry picking的方式从WHATWG获取补丁,来修补在W3C HTML规范中或者确实存在问题的UA上的BUG。在此文发布的时候,WHATWG HTML规范已经合并补丁到8152版本了。W3C HTML编辑们从W3C HTML小组的讨论和决定中和未被WHATWG共享的bug fixes中获取补丁并修补。 设计备注 不得不承认,HTML在许多方面给人的第一印象是荒谬的和矛盾的。

和HTML支持的其他技术一样,HTML 支持的DOM API都被擅长它们领域的人员开发了好几十年,而且他们彼此并不知道其他人的存在。

不同的源码中有着相同的呈现,而它们并没有使用相同的方式去编码。此外,因为Web的独特性,事实上,总是存在bug,因为在修复bug前,内容常常不是按标准描述的那样编写。 尽管如此,我们还是努力以达成某些设计目标。以下子节是相关描述。 脚本执行的序列性 为了避免数据泄露,HTML和DOM API被设计为,脚本不可探测到其他脚本的同时执行行为。即便通过workers,如此设计的目的是确保所有脚本在浏览器上下文中是单线程执行的。 注意:在此模型中,navigator.yieldForStorageUpdates()方法在当前脚本被阻塞的情况下,允许其他脚本执行。 遵从其它规范 本规范影响或依赖于许多其他规范。在这种情况下,本规范违法其他规范的相关要求,以解决内容冲突。每个冲突的地方,都会被标注为“强制违反”,并标明违反原因。 HTML vs XHTML 这份规范的结构 如何阅读本文档 排版惯例 HTML 的简单介绍 对于作者的符合规范 对象标记 语法错误 内容模型与属性值限制 推荐阅读 通用设施

本章节到 2.4 为止已移至相应子页面

术语 资源 XML DOM树 脚本 插件 字符编码 規範要求 規範類別 依賴關係 擴展性 字串比較與大小寫 UTF-8 通用微語法

本章节已移至相应子页面

常用解析器慣用語 布尔型属性 关键字和枚举类型属性 数字 非负整数 带符号整数 实数 百分比和长度 整数列表 尺寸列表 日期和时间

下述算法中,年year中如下月份month的日期数至31:1、3、5、7、8、10以及12月;如下月份的日期数至30:4,6,9以及11月;当月份是2月,且年份数能被400整除,或者能被4整除但不能被100整除时,日期数至29;否则只至28。此据公历年中的闰年概念。

月份 日期 时间 本地日期和时间 全球日期和时间 星期 Vaguer moments in time 颜色 空格分开的token 逗号分开的token 参考 媒体查询 URL

本章节已移至相应子页面

术语 分析URL Resolving URLs URL运用与创建 动态改变基础URL URL运用的接口 获取资源

本章节已移至相应子页面

协议的概念 加密的HTTP及安全考量 決定資源的類型 通用DOM接口

本章节已移至相应子页面

在IDL属性中反射内容属性 集合 HTMLCollection HTMLAllCollection HTMLFormControlsCollection HTMLOptionsCollection DOMTokenList DOMSettableTokenList 安全地传递结构体类型数据 DOMStringMap DOM特征字符串 异常 垃圾回收 命名空间

本章节已移至相应子页面

HTML文档的语义、结构及API

本章节到 3.1 为止已移至相应子页面'

文档 DOM中的文档 安全 资源元数据管理 DOM树存取器 创建文档 加载XML文档 元素

本章节已移至相应子页面

语义 DOM中的元素 全局属性 id属性 title属性 lang和xml:lang属性 xml:base属性 dir属性 class属性 style属性 用data-*属性嵌入自定义的不可见数据 元素定义 属性 内容模型 内容种类 元数据式内容 流式内容 章节式内容 标题式内容 段落式内容 嵌入式内容 交互式内容 透明内容模型 段落 关于双向文字处理算法的需求 WAI-ARIA(Accessible Rich Internet Applications)无障碍的富因特网应用程序 HTML文档中的API

本章节已移至相应子页面

与XPath和XSLT交互 动态注入标记

本章节已移至相应子页面

打开输入流 关闭输入流 document.write() document.writeln() innerHTML outerHTML HTML元素

本章节到 4.2 为止已移至相应子页面

根元素 html元素 文档元数据 head元素 title元素 base元素 link元素 meta元素 style元素 样式 脚本

本章节已移至相应子页面

script元素 脚本语言 script元素内容的限制 外部脚本的内联文档 script元素和XSLT的交互 noscript元素 区块

本章节已移至相应子页面

body元素 section元素 nav元素 article元素 aside元素 h1,h2,h3,h4,h5和h6元素 hgroup元素 header元素 footer元素 address元素 头和区块 内容分组

本章节已移至相应子页面

p元素 hr元素 pre元素 blockquote元素 ol元素 ul元素 li元素 dl元素 dt元素 dd元素 figure元素 figcaption元素 div元素 文本级语意

本章节已移至相应子页面

a元素 em元素 strong元素 small元素 s元素 cite元素 q元素 dfn元素 abbr元素 time元素 code元素 var元素 samp元素 kbd元素 sub和sup元素 i元素 b元素 u元素 mark元素 ruby元素 rt元素 rp元素 bdi元素 bdo元素 span元素 br元素 wbr元素 使用方式小结 更改记录

本章节已移至相应子页面

ins元素 del元素 ins和del元素的通用属性 更改记录与段落 更改记录与列表 嵌入内容 img元素

本章节已移至相应子页面

iframe元素

本章节已移至相应子页面

embed元素

本章节已移至相应子页面

object元素

本章节已移至相应子页面

param元素

本章节已移至相应子页面

video元素 audio元素 source元素 track元素 多媒体元素 canvas元素

本章节已移至相应子页面

颜色空间和颜色校正 canvas元素安全性 map元素 area元素 图像映射 MathML SVG 尺寸属性 表格数据

本章节已移至相应子页面

table元素 描述表格的技术 布局表格的技术 caption元素 colgroup元素 col元素 tbody元素 thead元素 tfoot元素 tr元素 td元素 th元素 td和th元素的通用属性 处理模型 创建一个表格 创建数据单元格与标题单元格之间的关系 示例 表单

本章节到 4.10.6 为止已移至相应子页面

介紹 编写用户界面 实现一个表单的服务器端过程 配置表单使其与服务器端相通 客户端表单验证 分類 form元素 fieldset元素 legend元素 label元素 input元素

本章节已移至相应子页面

type属性的状态

本章节已移至相应子页面1及子页面2

隐藏状态 文本状态和搜索状态 电话号码状态 URL状态 电子邮件状态 密码状态 日期和时间状态 日期状态 月份状态 周状态 时间状态 本地日期和时间状态 数字状态 范围状态 颜色状态 复选框状态 单选按钮状态 文件上传状态 提交按钮状态 图片按钮状态 重置按钮状态 按钮状态 input 元素的共通屬性

本章节已移至相应子页面

input 元素的共通 API

本章节已移至相应子页面

共通事件行為

本章节已移至相应子页面

button元素 select元素 datalist元素 optgroup元素 option元素 textarea元素 keygen元素 output元素 progress元素 meter元素 控制項與表單的連結

本章节已移至相应子页面

表單控制項的共通屬性

本章节已移至相应子页面

為表單控制項命名 啟用和停用控制項 控制項的取值 控制項的自動聚焦 限制使用者的輸入長度 表單提交 提交元素方向性 文本字段选择API

本章节已移至相应子页面

约束

本章节已移至相应子页面

定义 约束验证 约束验证API 安全性 表單提交

本章节已移至相应子页面

介绍 隱式提交 表单提交算法 构建表单数据集 URL编码表单数据 多部分表单数据 纯文本表单数据 表單重置

本章节已移至相应子页面

交互元素 details元素 summary元素 command元素 menu元素 链接

本章节已移至相应子页面

介绍 由a和area元素创建的链接 跳转至超链接 链接类型 没有特指元素的惯用语 用选择器匹配HTML元素

本章节已移至相应子页面

网页加载过程

本章节到 5.2 为止已移至相应子页面

浏览上下文 嵌套的浏览上下文 导航在 DOM 中嵌套的浏览上下文 辅助浏览上下文 在DOM中导航辅助浏览上下文 次级浏览上下文 安全性 浏览上下文分组 浏览上下文名称

浏览上下文可以有一个浏览上下文名称。默认情况下,浏览上下文没有名称(即未设置名称)。

一个合法的浏览上下文名称可以是任意字符串,该字符串由至少一个字符组成,且不能以U+005F下划线字符开始。(以下划线开始的名称是保留关键字)。

一个合法的浏览上下文名称或关键字可以是一个合法的浏览上下文名称或大小写不敏感的以下字符串之一:_blank、_self、_parent或_top。

浏览上下文名称的值根据当前页面是否在沙箱环境中有着不同的意义,如下表(非正式)所述。在此表格中,“当前”表示链接或脚本所在的浏览上下文,“父级”表示链接或脚本所在的浏览上下文的父级浏览上下文,“主级”表示当链接或脚本在一个无缝的iframe中时,使用其所在的浏览上下文最近的祖先级浏览上下文,“顶级”表示链接或脚本所在的浏览上下文对应的顶级浏览上下文,“新建”表示需要创建一个新的顶级浏览上下文或辅助浏览上下文,根据不同的用户配置以及用户代理的策略,“可能新建”表示采用“新建”的策略,但鼓励用户代理视其为“无”,意味着不采取任何动作。

关键字 原始效果 在iframe中时... seamless="" sandbox="" sandbox=""seamless="" sandbox="allow-top-navigation" sandbox="allow-top-navigation"seamless="" 未指定,当用于链接及表单提交时 当前 主级 当前 主级 当前 主级 未指定,当用于window.open()时 新建 新建 可能新建* 可能新建* 可能新建* 可能新建* 空字符串 当前 主级 当前 主级 当前 主级 _blank 新建 新建 可能新建 可能新建 可能新建 可能新建 _self 当前 当前 当前 当前 当前 当前 _parent,如果没有父级浏览上下文 当前 当前 当前 当前 当前 当前 _parent,如果父级浏览上下文是顶级浏览上下文 父级/顶级 父级/顶级 无 无 父级/顶级 父级/顶级 _parent,如果有父级浏览上下文且其不是顶级浏览上下文 父级 父级 无 无 无 无 _top,如果当前浏览上下文是顶级浏览上下文 顶级 顶级 顶级 顶级 顶级 顶级 _top,如果当前浏览上下文不是顶级浏览上下文 顶级 顶级 无 无 顶级 顶级 不存在的名称 新建 新建 可能新建 可能新建 可能新建 可能新建 存在该名称且为子级浏览上下文 指定的子级 指定的子级 指定的子级 指定的子级 指定的子级 指定的子级 存在该名称且为当前浏览上下文 当前 当前 当前 当前 当前 当前 存在该名称且是父级浏览上下文,同时是顶级浏览上下文 指定的父级 指定的父级 无 无 指定的父级/顶级 指定的父级/顶级 存在该名称且是父级浏览上下文,但不是顶级浏览上下文 指定的父级 指定的父级 无 无 无 无 该情况仅在sandbox属性同时允许脚本交互时出现。

当一个算法所在的任务满足以下条件时,可以打开一个弹出窗:

当前正在处理的激活行为的click事件是可信的,或 正在执行一个可信的click事件的处理函数。

根据给定的浏览上下文名称选择浏览上下文的规则如下所述,该规则假定其在一个浏览上下文中使用:

如果给定的浏览上下文名称是空字符串或_self,则必须使用当前的浏览上下文。如果给定的浏览上下文名称是_self,则被认为是显式自导航覆盖,这将覆盖iframe元素上由seamless属性设置的无缝浏览上下文标记指定的行为。 如果给定的浏览上下文名称是_parent,则必须使用当前浏览上下文的父级浏览上下文,除非不存在父级浏览上下文,这种情况下则必须使用当前浏览上下文。 如果给定的浏览上下文名称是_top,则必须使用当前浏览上下文关联的顶级浏览上下文,如果不存在则必须使用当前浏览上下文。 如果给定的浏览上下文名称不是_blank,且存在一个浏览上下文的名称与给定的相同,同时当前浏览上下文可以控制该浏览上下文的导航,且用户代理判定这两个浏览上下文相关度足以发生交互,则必须使用指定的浏览上下文。如果有多个符合条件的浏览上下文,用户代理需要根据任意一致的方法选择其一,如最近打开的,最频繁获得焦点的,或者更加具有相关度的。如果这一步选择的结果是当前浏览上下文,则同样被认为是显式自导航覆盖。 其他情况下,需要请求一个新的浏览上下文,这将根据用户代理的配置及功能产生不同的效果 -- 根据下表选择第一个可接受的规则: 如果当前浏览上下文的活动文档创建时,设置了沙箱内的导航浏览上下文标记:用户代理可以提供一个新的顶级浏览上下文或重用一个已经存在的顶级浏览上下文。如果用户设置了这些选项,则必须使用指定的浏览上下文(不需要该浏览上下文的名称为给定的值)。默认行为(用户代理未提供给用户相关的选项,或用户拒绝使用浏览上下文)下,不得选择任何浏览上下文。 如果用户代理根据配置判定需要创建一个新的浏览上下文,且该浏览上下文是作为跟进超链接行为的的一部分而被创建的,同时该超链接的链接类型包含了noreferrer关键字:必须创建一个新的顶级浏览上下文。如果给定的浏览上下文名称不是_blank,则新建的顶级浏览上下文的名称必须为给定的值(否则该浏览上下文不设置名称)。最终选择的浏览上下文必须是此新建的浏览上下文。注意:如果需要立刻导航,则导航会在可替换的状态下进行。 如果用户代理根据配置判定需要创建一个新的浏览上下文,且该浏览上下文是作为跟进超链接行为的的一部分而被创建的,但该超链接的链接类型不包含noreferrer关键字:必须创建一个新的辅助浏览上下文,设置其开启方浏览上下文为当前浏览上下文。如果给定的浏览上下文名称不是_blank,则新建的辅助浏览上下文的名称必须为给定的值(否则该浏览上下文不设置名称)。最终选择的浏览上下文必须是此新建的浏览上下文。注意:如果需要立刻导航,则导航会在可替换的状态下进行。 如果用户代理根据配置判定需要重用当前的浏览上下文:最终选择的浏览上下文就是当前的浏览上下文。 如果用户代理根据配置判定不需要查找对应的浏览上下文:没有被选择的浏览上下文。

推荐用户代理实现者为用户提供相关的配置项,用以保证总是重用当前的浏览上下文。

Window对象 安全性 创建和按浏览上下文名称导航的API 访问其他浏览上下文 访问命名窗口对象 垃圾收集和浏览上下文 浏览器界面元素 WindowProxy对象 源

源和真源是非透明的标识符,由一个访问协议,一个主机名,一个端口组成.(真源是指document.domain的值) 注意:网站使用加密连接时会额外包含证书,确保网站证书修改后它的源也被修改. 这些特性定义如下: URL

URL的源与真源是根据 The Web Origin Concept进行定义的.

脚本

脚本的源与真源是根据下面这些条件进行定义的:

Document对象 图片 audio和video元素 字体

放宽同源限制 会话历史和导航

本章节已移至相应子页面

浏览上下文的会话历史 History接口 Location 接口 安全性 会话历史实现说明 浏览网页

本章节已移至相应子页面

在文档之间导航 页面加载HTML文件的处理模型 页面加载XML文件的处理模型 页面加载文本文件的处理模型 页面加载图像的处理模型 页面加载使用插件内容的处理模型 页面加载没有DOM的内联内容的处理模型 导航到一个片段标识符 穿越历史 事件定义 卸载文档 事件定义 中止文档加载 离线Web应用程序

本章节已移至相应子页面

简介 事件摘要 应用程序缓存 缓存清单语法 Manifest清单示例 写缓存清单 解析缓存清单 下载或更新应用程序缓存 应用程序缓存的选择算法 更改的网络模式 过期的应用程序缓存 磁盘空间 应用程序缓存API 浏览器状态 Web应用程序API 脚本功能 介绍 启用和禁用脚本功能 处理模型 定义 调用脚本 创建脚本

当规范涉及需要创建一个脚本,并给定脚本源、脚本的URL、脚本的语言、全局对象、浏览上下文、URL编码以及根URL时,用户代理必须按以下步骤进行处理:

如果传递给该算法的浏览上下文禁用了脚本,则中断以下步骤,其表现如果脚本没有执行任何内容并返回void。 根据指定的脚本语言,创建一个合适的脚本执行环境。 使用该脚本执行环境,根据指定的脚本语言,对脚本源进行解析/编译/初始化操作,以此得到该脚本的一系列代码入口。如果指定的脚本语言与脚本源要求某些代码需要被立即执行,则将该代码的入口作为初始代码入口。 按照传递给该算法的配置项,设定脚本的全局对象、浏览上下文、文档对象、URL编码以及根URL。 如果以上步骤均成功执行(即脚本成功完成编译),则跳转到脚本的初始代码入口。反之,将脚本源URL、出现问题的行号作为错误信息,在script origin中,触发该脚本的全局对象的onerror事件处理函数。如果在此过程中错误并没有得到处理,则可以向用户报告该错误。

如果用户代理需要通过指定的脚本源、脚本URL、脚本语言、浏览上下文创建一个无效的脚本,则用户代理必须创建一个脚本,该脚本使用指定的脚本源、脚本URL、脚本语言,使用一个空对象作为其全局对象,并使用指定的浏览上下文。由于该脚本并不对外暴露任何API,因此URL编码和根URL并不重要。

当标准涉及需要从一个节点创建脚本,并给定脚本源、脚本的URL、脚本语言时,用户代理必须使用给定的脚本源、脚本URL和脚本语言,并使用从节点中提取的设置来创建一个脚本。

从节点中提取设置的计算过程如下:

使用节点的Document对象(当节点为Document时则使用自身)作为脚本的document属性。 使用当前文档的浏览上下文作为浏览上下文。 使用当前文档的Window对象作为全局对象。 使用当前文档的编码作为URL编码(此处为引用关系,不作复制处理)。 使用当前文档的根URL作为根URL(此处为引用关系,不作复制处理)。 结束脚本 运行时脚本错误 事件循环 定义 处理模型 通用任务来源 “javascript: ”URL协议 事件 事件处理

许多对象可以指定事件处理行为。这些行为将成为指定它们的对象的冒泡事件侦听器。

一个事件处理行为可以被设为null值或一个Function对象。在初始化时,事件处理行为必须被设为null。

事件处理行为通过一到两种途径暴露。

第一种途径是一个事件处理行为IDL属性,它是所有事件处理行为所共有的。

第二种途径是一个事件处理行为内容属性。HTML元素的事件处理行为和某些Window对象的事件处理行为通过该途径暴露。

事件处理行为IDL属性,在设置其值时,必须以相应的事件处理行为作为其新值;在获取其值时,必须返回任何相应的事件处理行为的当前值(可能为null)。

如果一个事件处理行为IDL属性公开一个不存在的对象的事件处理行为,则必须总是在获取其值是返回null,且在设置其值时不做操作。

注:这种情况可能发生在特定的没有相应的window对象的body元素的事件处理行为IDL属性上。 注:某些事件处理行为IDL属性拥有额外的需求,例如MessagePort对象的onmessage属性。

事件处理行为内容属性,当其被指定时,则必须包含有效地JavaScript代码;当其被解析时,将会匹配在自动插入分号后生成的FunctionBody。

当一个事件处理行为内容属性被设置时,如果该元素被浏览器上下文中的Document所拥有,并且脚本程序在浏览器上下文中被启用,则用户代理必须执行下列步骤以便在设置内容属性为新值后生成一个脚本程序:

设置一个相应的事件处理行为为null。 创建一个JavaScript脚本执行环境。 将事件处理行为内容属性的新值设为body。 如果body不能作为FunctionBody解析,或者解析检测到一个早期错误,则步骤终止。注:FunctionBody定义在ECMAScript第5版第13节“方法定义”。早期错误定义在ECMAScript第5版第16节“错误”。 如果body以一个包含了使用严格指令的指令开端作为开始,则strict为真,否则strict为假。注:“使用严格指令”和“指令开端”条款定义在ECMAScript第5版第14.1节“指令开端及使用严格指令”。 使用之前创建的脚本制定环境创建一个function对象(定义在ECMAScript第5版第13.2节“创建Function对象”):参数列表FormalParameterList ;如果属性是window对象的onerror属性 : 方法拥有三个参数,分别名为event、source和fileno。;否则 : 方法用户一个单一参数,名为event。 创建脚本的全局对象。 元素、Document和Window对象的事件处理

以下内容已移至子页面。

事件触发 事件和Window对象 Base64实用方法 定时器

本章节移至相应子页面

用户提示

本章节移至相应子页面

简单对话框 打印 使用独立文档实现的对话框 系统状态及性能

本章节移至相应子页面

Navigator对象 客户端标识 自定义协议和内容处理 安全和隐私 用户界面示例 手动释放存储互斥量 External接口 用户交互

本章节到 7.5.3 为止已移至相应子页面

hidden属性 啟動 焦距 設定鍵盤快捷鍵 編輯 使文档区域可编辑:contenteditable内容属性 使整个文档可编辑:designMode IDL属性 页面内编辑器的最佳实践 编辑API

本章节到 7.5.5 为止已移至相应子页面

拼写及语法检查 拖曳

本章节到 7.7 为止已移至相应子页面

文字搜尋 API HTML 语法

本章节到 8.1 为止已移至相应子页面

编写 HTML 文档 DOCTYPE 声明 元素 开始标签 结束标签 属性 可选标签 内容模型限制 原始文本与 RCDATA 元素内容限制 文本 换行 字符引用 CDATA 段落 注释 解析 HTML 文档

本章节到 8.2.3 为止已移至相应子页面

解析模型概述 輸入串流 決定字符編碼 字符编码 輸入串流的前置處理 解析時的編碼變更 解析态 插入模式 开元素栈 活动格式元素列表 元素指针 其他解析态标记 Tokenization

本章节已移至相应子页面

树构建 创建与插入元素 闭合缺结束标签的元素 Foster parenting 解析 HTML 內容內的 token 的規則 插入模式:「IN HEAD」 English 標籤名是 "meta" 的開始標籤

若元素有 charset 屬性,且取值為使用者代理支援的 ASCII 兼容的字符編碼或一個 UTF-16 編碼且可信度目前為「暫時」,則變更編碼成 charset 屬性取值對應的編碼。

否則,若元素有 http-equiv 屬性且其取值 ASCII 不分大小寫批配 "Content-Type" 字串,且有 content 屬性,且對屬性的取值使用由 meta 元素萃取編碼的演算法可以得到使用者代理支援的 ASCII 兼容的字符編碼或一個 UTF-16 編碼且可信度目前為「暫時」,則變更編碼成萃取出來的編碼。

解析外语内容区域的规则 结束 强制 HTML DOM 转为信息集 错误处理与解析器奇怪情况简介 标签嵌套错误: 标签嵌套错误:

Unexpected markup in tables 在解析页面时修改页面的脚本 The execution of scripts that are moving across multiple documents Unclosed formatting elements 序列化 HTML 区段 解析 HTML 区段 命名字符参考 XHTML语法 渲染

本章节已移至相应子页面

介紹 CSS 使用者代理樣式表與表象呈現提示 介紹 显示状态 边距与边框 对齐 字体与颜色 标点符号与装饰 继承属性的覆盖规则 hr 元素 fieldset 元素 置换元素 綁定 框架与框架集 互动媒介 印刷媒介 废弃的特性

本章节已移至相应子页面

废弃但符合规范的特性 对废弃但符合规范的特性进行警告 非标准特性 实施需求 applet元素 marquee元素 Frames 其他元素,属性和API IANA(The Internet Assigned Numbers Authority,互联网数字分配机构)考量 索引 参考文献

本章节已移至相应子页面

致谢 感谢Tim Berners-Lee发明了HTML,没有他的贡献所有这一切都不会存在。


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有